package cn.zhouchao.basic.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

/**
 * 封装的一个邮箱发送工具类
 */
@Slf4j
public class EmailUtil {

    /**
     * 创建一个静态公共,无返回值的sendEamil方法
     * @param title 题目 setSubject
     * @param consignee 收件人 setTo
     * @param text 文本内容 setText
     */
    public static void sendEamil(String title, String consignee, String text) {
        ApplicationContext appContext = SpringUtil.getappContext();
        JavaMailSender javaMailSender = appContext.getBean(JavaMailSender.class); // bean对象javaMailSender
//        MimeMessage javaMailSender = bean.createMimeMessage();
        // 2.1.3.发送邮件
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        // 2.1.3.1发送复杂邮件的工具类
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
            // 发送人
            helper.setFrom("18881256911@qq.com");
            // 发送的文本内容
            helper.setSubject("宠物之家审核结果通知");
            // 2.1.3.2.设置文本内容，第二个参数 true 代表是否是一个html内容
//            helper.setText("<h1>亲爱的用户：恭喜你入住我平台店铺，审核结果为：通过。请点击下方链接激活店铺：</h1>"+
//                    "http://localhost:8080/shop/active/"+dto.getShopId(),true);
            helper.setText(text,true);
            // 2.1.3.3.添加附件（前面文件类型的后缀必须加上）
            // helper.addAttachment("好东西.jpg",new File("C:\\Users\\Administrator\\Desktop\\img\\01_火锅.jpg"));
            // 2.1.3.4.设置收件人
            helper.setTo(consignee);
            // 2.1.3.5.发送邮件
            javaMailSender.send(mimeMessage);
        } catch (MessagingException e) {
            log.info("发送邮件失败:{}",e);
            // e.printStackTrace();
        }

    }

}
